<template>
    <div>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
        <h1>其他应收</h1>
    </div>
</template>

<script>
export default {
  data() {
    return {
      // 表格数据
      ListData: [],
      // 选中数据
      multipleSelection: [],
      // 列表载荷数据
      ListForm: {
        _t: 0, // 事件戳
        billNo: "", // 单据编号
        billDate_begin: "", // 开始日期
        billDate_end: "", // 结束日期
        customerId: "", // 客户id
        isApproved: "",
        isClosed: "",
        isVoided: "",
        column: "createTime",
        order: "desc",
        field:
          "id,,,billNo,billDate,sourceNo,customerId_dictText,isRubric_dictText,amt,checkedAmt,billProcStatus_dictText,isApproved_dictText,isClosed_dictText,isVoided_dictText,remark,effectiveTime,approverId_dictText,flowId,createTime,createBy_dictText,sysOrgCode_dictText,updateTime,updateBy_dictText,action",
        pageNo: 1,
        pageSize: 10,
      },
      // 模态框开关
      dialogFormVisible: false,
      // 模态框数据
      addForm: {
        amt: -1.1, // 金额
        approverId: null, // 审核人id
        approverId_dictText: null, // 审核人消息
        attachment: null, // 附件
        billDate: "", // 单据日期
        billNo: "", // 单据编号
        billProcStatus: 0, // 处理状态id
        billProcStatus_dictText: "", // 处理状态
        checkedAmt: 0, // 选择金额
        createBy: "", // 创建账号
        createBy_dictText: "", // 创建人
        createTime: "", // 创建时间
        customerId: "", // 客户id
        customerId_dictText: "", // 客户文本
        effectiveTime: "", // 生效时间
        flowId: null, // 流动id
        id: "", // id
        isApproved: null, // 是否通过
        isApproved_dictText: null, //是否通过文本
        isAuto: 0,
        isAuto_dictText: "否",
        isClosed: null, // 是否关闭
        isClosed_dictText: null, // 是否关闭文本
        isRubric: null, //是否红字
        isRubric_dictText: "", //是否红字id
        isVoided: null, // 是否作废
        isVoided_dictText: null, // 是否作废文本
        receivableType: "199", // 可接受类型
        receivableType_dictText: "", // 其他应收  可接受类型文本
        remark: "", // 备注
        sourceId: null, // 来源id
        sourceNo: null, // 来源编号
        sourceType: null, // 来源类型
        sourceType_dictText: null, // 来源类型文本
        sysOrgCode: "", // 外部命令代码
        uncheckedAmt: null, // 金额数量
        updateBy: null, // 更新人
        updateBy_dictText: null, // 更新人文本
        updateTime: null, // 更新时间
        version: null, // 版本
      },
      // 模态框校验码规则
      rules: {
        billNo: [{ required: true, message: "不能为空", trigger: "blur" }],
        billDate: [{ required: true, message: "不能为空", trigger: "blur" }],
        customerId: [{ required: true, message: "不能为空", trigger: "blur" }],
        amt: [{ required: true, message: "不能为空", trigger: "blur" }],
      },
      // 分页器
      total: 0,
      //  多选的id
      ids: [],
      //  更多操作
      moredelete: false,
      // 搜索展开收起
      arrow_down_up: false,
      arrow_down_up2: false,
      // 客户信息
      CustomerInformation: [],
      // 是否
      YesOrNo: [],
      // 模态框标题
      title: "",
    };
  },
  mounted() {
    this.GetList();
  },

  methods: {
    // 查询
    findList() {
      this.GetList();
    },
    // 获取数据
    GetList() {
      let t = new Date().getTime();
      this.ListForm._t = t;
      this.axios
        .get(
          "http://8.142.74.15:48082/jeecg-boot/finance/finReceivable/list/199",
          {
            params: this.ListForm,
          }
        )
        .then((res) => {
          console.log(res);
          this.ListData = res.data.result.records;
        });
    },
    // 展开
    zhankai1() {
      this.axios
        .get("/sys/dict/getDictItems/bas_customer,name,id")
        .then((res) => {
          console.log(res);
          this.CustomerInformation = res.data.result;
        });
      this.axios.get("/sys/dict/getDictItems/yn").then((res) => {
        console.log(res);
        this.YesOrNo = res.data.result;
      });
    },
    // 重置
    reset() {
      this.ListForm.billNo = ""; // 单据编号
      this.ListForm.billDate_begin = ""; // 开始日期
      this.ListForm.billDate_end = ""; // 结束日期
      this.ListForm.customerId = ""; // 客户id
      this.ListForm.isApproved = "";
      this.ListForm.isClosed = "";
      this.ListForm.isVoided = "";
      this.ListForm.field = "";
      this.GetList();
    },
    // 新增按钮
    addButton(row) {
      this.addForm.amt = null; // 金额
      this.addForm.approverId = null; // 审核人id
      this.addForm.approverId_dictText = null; // 审核人消息
      this.addForm.attachment = null; // 附件
      this.addForm.billDate = ""; // 单据日期
      this.addForm.billNo = ""; // 单据编号
      this.addForm.billProcStatus = 0; // 处理状态id
      this.addForm.billProcStatus_dictText = ""; // 处理状态
      this.addForm.checkedAmt = 0; // 选择金额
      this.addForm.createBy = ""; // 创建账号
      this.addForm.createBy_dictText = ""; // 创建人
      this.addForm.createTime = ""; // 创建时间
      this.addForm.customerId = ""; // 客户id
      this.addForm.customerId_dictText = ""; // 客户文本
      this.addForm.effectiveTime = ""; // 生效时间
      this.addForm.flowId = null; // 流动id
      this.addForm.id = ""; // id
      this.addForm.isApproved = null; // 是否通过
      this.addForm.isApproved_dictText = null; //是否通过文本
      this.addForm.isAuto = 0;
      this.addForm.isAuto_dictText = "";
      this.addForm.isClosed = null; // 是否关闭
      this.addForm.isClosed_dictText = null; // 是否关闭文本
      this.addForm.isRubric = null; //是否红字
      this.addForm.isRubric_dictText = ""; //是否红字id
      this.addForm.isVoided = null; // 是否作废
      this.addForm.isVoided_dictText = null; // 是否作废文本
      this.addForm.receivableType = "199"; // 可接受类型
      this.addForm.receivableType_dictText = ""; // 其他应收  可接受类型文本
      this.addForm.remark = ""; // 备注
      this.addForm.sourceId = null; // 来源id
      this.addForm.sourceNo = null; // 来源编号
      this.addForm.sourceType = null; // 来源类型
      this.addForm.sourceType_dictText = null; // 来源类型文本
      this.addForm.sysOrgCode = ""; // 外部命令代码
      this.addForm.uncheckedAmt = null; // 金额数量
      this.addForm.updateBy = null; // 更新人
      this.addForm.updateBy_dictText = null; // 更新人文本
      this.addForm.updateTime = null; // 更新时间
      this.addForm.version = null; // 版本
      this.dialogFormVisible = true; // 显示弹窗
      this.title = row; // 标题
      this.getpayable_bill_no(); // 获取单据编号
    },
    // 确定新增
    submitForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          this.axios
            .post("/finance/finReceivable/add", this.addForm)
            .then((res) => {
              console.log(res);
              if (res.data.code == 200) {
                this.GetList();
                this.$message.success("操作成功");
                this.dialogFormVisible = false;
              } else {
                this.$message.error("操作失败");
                return false;
              }
            });
        } else {
          console.log("修改失败");
          return false;
        }
      });
    },
    //
    handleClick(row) {
      console.log(row);
      this.addForm = row;
      this.dialogFormVisible = true;
      this.title = "其他应收 - 编辑";
    },
    // 确定修改
    changeForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          this.axios
            .put("/finance/finReceivable/edit", this.addForm)
            .then((res) => {
              console.log(res);
              if (res.data.code == 200) {
                this.GetList();
                this.$message.success("操作成功");
                this.dialogFormVisible = false;
              }
            });
        } else {
          console.log("修改失败");
          return false;
        }
      });
    },

    // 取消
    Cancel(formName) {
      this.$refs[formName].resetFields();
      this.dialogFormVisible = false;
    },
    // 删除
    deleteList(row) {
      console.log(row);
      this.axios
        .delete("/finance/finReceivable/delete", { params: { id: row } })
        .then((res) => {
          console.log(res);
          if (res.data.code == 200) {
            this.$message.success("操作成功");
            this.GetList();
          } else {
            this.$message.error(`${res.data.message}`);
          }
        });
    },
    // 是否全选数据
    handleSelectionChange(val) {
      this.multipleSelection = val;
    },
    // 批量删除
    MoreDelete() {
      for (let i = 0; i < this.multipleSelection.length; i++) {
        this.ids.push(this.multipleSelection[i].id);
      }
      this.$confirm(`是否对id=[${this.ids}]进行批量删除的操作？`, "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      }).then(() => {
        // listDelete(this.ids).then((res) => {
        //   console.log(res);
        //   this.$message.success("操作成功");
        //   this.GetList();
        //   this.ids = [];
        // });
      });
    },
    // 分页器
    handleSizeChange(val) {
      console.log(`每页 ${val} 条`);
      this.ListForm.limit = val;
      this.GetList();
    },
    handleCurrentChange(val) {
      console.log(`当前页: ${val}`);
      this.ListForm.page = val;
      this.GetList();
    },
    // 清空
    qingkong() {
      this.$refs.multipleTable.clearSelection();
    },
    // 获取单据编号
    getpayable_bill_no() {
      this.axios
        .put("/sys/fillRule/executeRuleByCode/payable_bill_no", {})
        .then((res) => {
          console.log(res);
          this.addForm.billNo = res.data.result;
        });
    },
  },
  watch: {
    // 监听选中数据
    multipleSelection(newVal) {
      if (newVal.length == 0) {
        this.moredelete = false;
      }
      if (newVal.length !== 0) {
        this.moredelete = true;
      }
      console.log(newVal);
    },
    // 监听是否展开
    arrow_down_up(newVal) {
      if (newVal == true) {
        this.zhankai1();
      }
    },
    // 监听模态框
    dialogFormVisible(newVal) {
      if (newVal == true) {
        this.zhankai1();
      }
    },
  },
};
</script>

<style lang="scss" scoped>

</style>